package com.aoxin.mapper.course.systemCourse;

import com.aoxin.model.course.AloneCoursePage;

import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface AloneCoursePageDao {
    /**
     * 查询课程包（系统管理员）
     *
     * @param aloneCoursePage
     * @return
     */
    List<AloneCoursePage> getAloneCoursePage(AloneCoursePage aloneCoursePage);
    
    /**
     * 查询主题课程（系统管理员）
     *
     * @param aloneCoursePage
     * @return
     */
    List<AloneCoursePage> getAloneCoursePageC(AloneCoursePage aloneCoursePage);

    /**
     * 新增课程包(系统管理员)
     *
     * @param aloneCoursePage
     * @return
     */
    Integer insertAloneCoursePage(AloneCoursePage aloneCoursePage);

    /**
     * 修改课程包
     *
     * @param aloneCoursePage
     * @return
     */
    Integer updateAloneCoursePage(AloneCoursePage aloneCoursePage);

    /**
     * 同一个学校 同一个类型 的课程包名称不能相同
     *
     * @param aloneCoursePage
     * @return
     */
    Integer checkPage(AloneCoursePage aloneCoursePage);

    /**
     * 删除课程包
     * @param coursePageId
     * @return
     */
    Integer deletePage(Integer coursePageId);
    
    //找到所有包
    List<AloneCoursePage> getAloneCoursePageOther(Integer classroomId);
    
    Integer getMax();
    
    //查看courseId的信息
    List<AloneCoursePage> getCouserThemeMassage(Integer courseId);
    
    //修改禁用或者启用
    void updateState(@Param("coursePageIds") List<Integer> coursePageIds,@Param("state") Integer state);
    
    /**
     * 修改C类课程的时候判断是否有用户已购买
     * @param coursePageId
     * @return
     */
    String queryMyCoursePageExistenceCoursePageC(@Param("coursePageId") Integer coursePageId);
    
    /**
     * 批量更新C类课程数据
     * @param coursePageIds
     * @param state
     */
    void  updateCoursePageCState(@Param("coursePageIds") List<Integer> coursePageIds, @Param("state") Integer state);
    
    

}
